MongoDB এর আর্কিটেকচার এবং কাজের ধরণ

MongoDB পরিচিতি - মঙ্গোডিবি (MongoDB) - Database Tutorials

395

MongoDB এর আর্কিটেকচার ডিজাইন করা হয়েছে একটি ডিস্ট্রিবিউটেড ডেটাবেস সিস্টেম হিসেবে, যেখানে ডেটা শার্ডিং, রেপ্লিকেশন, এবং উচ্চ স্কেলেবিলিটি সহজভাবে সংহত করা হয়। এটি একটি ডকুমেন্ট-ভিত্তিক ডেটাবেস, যেখানে ডেটা BSON (Binary JSON) ফরম্যাটে সংরক্ষিত হয়। MongoDB এর আর্কিটেকচার এবং এর কাজের ধরণকে কিছু মূল অংশে ভাগ করা যায়, যা MongoDB কিভাবে কাজ করে এবং স্কেলেবিলিটি এবং পারফরম্যান্সের জন্য কীভাবে অপটিমাইজড তা বুঝতে সাহায্য করে।


1. MongoDB আর্কিটেকচারের মূল উপাদান

MongoDB এর আর্কিটেকচার মূলত ৪টি প্রধান উপাদানের উপর ভিত্তি করে তৈরি:

  • MongoDB ডাটাবেস সার্ভার (mongod): MongoDB এর মূল সার্ভার প্রোগ্রাম যা ডেটাবেস ম্যানেজমেন্ট, কুয়েরি প্রসেসিং, ইনডেক্সিং, ডেটা স্টোরেজ এবং অন্যান্য সমস্ত মৌলিক কাজ পরিচালনা করে। এটি ডেটার সকল লজিকাল অপারেশন এবং ফিজিক্যাল স্টোরেজ কন্ট্রোল পরিচালনা করে।
  • ক্লায়েন্ট: MongoDB ক্লায়েন্ট হল সেই সফটওয়্যার, অ্যাপ্লিকেশন বা ইউজার ইন্টারফেস যা MongoDB সার্ভারের সাথে ইন্টারঅ্যাক্ট করে ডেটা পাঠায় বা নেয়। MongoDB ক্লায়েন্ট ড্রাইভার MongoDB এর API এর মাধ্যমে সার্ভারের সাথে যোগাযোগ করে।
  • ডেটাবেস: MongoDB তে ডেটা সংগঠিত থাকে ডেটাবেসে। প্রতিটি ডেটাবেসের মধ্যে একাধিক কালেকশন থাকতে পারে, যেখানে ডকুমেন্ট এবং ডেটা স্টোর হয়।
  • কালেকশন: MongoDB তে একটি কালেকশন হল একটি ডেটাবেসের মধ্যে ডকুমেন্টগুলির একটি গ্রুপ। এটি একটি টেবিলের মতো, তবে স্কিমা-লেস, অর্থাৎ একই কালেকশনে বিভিন্ন ধরনের ডকুমেন্ট রাখা যেতে পারে। কালেকশন MongoDB এর মুল সংগঠন স্তর।
  • ডকুমেন্ট: MongoDB তে ডেটা একটি ডকুমেন্ট আকারে সংরক্ষিত থাকে। একটি ডকুমেন্ট হল BSON (Binary JSON) ফরম্যাটে একটি কীগুচ্ছ (key-value pairs) এর সমষ্টি। ডকুমেন্টে বিভিন্ন ধরনের ডেটা এবং স্ট্রাকচার থাকতে পারে এবং এটি খুবই নমনীয়।

2. MongoDB আর্কিটেকচারে শার্ডিং

MongoDB একটি ডিস্ট্রিবিউটেড সিস্টেম, এবং এটি শার্ডিং প্রযুক্তি ব্যবহার করে ডেটা স্কেল করতে সক্ষম। শার্ডিংয়ের মাধ্যমে ডেটা একাধিক সার্ভারে বিভক্ত করা হয়। MongoDB তে শার্ডিং সমর্থিত দুটি মৌলিক উপাদান থাকে:

  • Shard: এটি MongoDB ডেটাবেসের একটি অংশ, যা ডেটার কিছু অংশ সংরক্ষণ করে। একটি শার্ড একটি MongoDB সার্ভার বা একটি সার্ভারের গ্রুপ হতে পারে।
  • Shard Key: MongoDB তে শার্ডিংয়ের জন্য একটি শার্ড কী ব্যবহার করা হয়, যা ডেটার মধ্যে ভাগ করা হয়। এই শার্ড কী অনুযায়ী ডেটা শার্ডে ভাগ করা হয় এবং সার্ভারে বিতরণ করা হয়।

3. MongoDB তে রেপ্লিকেশন

MongoDB রেপ্লিকা সেট ব্যবহার করে ডেটাবেস রেপ্লিকেশন সমর্থন করে। রেপ্লিকা সেট MongoDB এর একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা ডেটার হাই অ্যাভেইলেবিলিটি এবং রেডানডেন্সি নিশ্চিত করে।

  • Primary: রেপ্লিকা সেটের মধ্যে একটি প্রধান সার্ভার থাকে, যা ডেটা লিখনের কাজ পরিচালনা করে।
  • Secondary: এক বা একাধিক সেকেন্ডারি সার্ভার থাকে, যা প্রধান সার্ভারের কপি থাকে এবং ডেটা রিড অপারেশন পরিচালনা করে। সেকেন্ডারি সার্ভারগুলি প্রধান সার্ভারের ডেটার সিঙ্ক্রোনাইজড কপি থাকে।
  • Arbiter: রেপ্লিকা সেটের মধ্যে একটি নির্দিষ্ট সার্ভার থাকে যা ভোটিং প্রক্রিয়ায় অংশগ্রহণ করে এবং অন্য কোন সার্ভারের নির্বাচনের জন্য ব্যবহার করা হয়, তবে এটি ডেটা সংরক্ষণ করে না।

4. MongoDB তে ডেটা ইনডেক্সিং

MongoDB বিভিন্ন ধরনের ইনডেক্স সমর্থন করে, যা ডেটা অনুসন্ধান দ্রুত করতে সহায়ক। এটি কুয়েরি পারফরম্যান্স উন্নত করতে সাহায্য করে।

  • Single Field Index: একটি ক্ষেত্র বা ফিল্ডের উপর ইনডেক্স তৈরি করা।
  • Compound Index: একাধিক ফিল্ডের উপর ইনডেক্স তৈরি করা।
  • Text Index: টেক্সট ডেটার উপর ইনডেক্স তৈরি করা, যেমন স্ট্রিং ডেটার উপর গঠনমূলক অনুসন্ধান।
  • Geospatial Index: ভৌগলিক অবস্থানের জন্য ইনডেক্স তৈরি করা।

5. MongoDB তে কাজের ধরণ

MongoDB তে ডেটা বিভিন্ন উপায়ে কাজ করে:

  • ডেটা ইনসার্ট: MongoDB তে ডেটা ডকুমেন্ট আকারে ইনসার্ট করা হয়। এটি দ্রুত এবং নমনীয়, কারণ MongoDB স্কিমা-লেস ডেটাবেস, এবং ডেটা কখনও পরিবর্তিত হতে পারে।
  • ডেটা কুয়েরি: MongoDB কুয়েরি অপারেশন সমর্থন করে, যা JSON-এর মতো স্ট্রাকচার ব্যবহার করে। MongoDB তে কুয়েরি এবং অ্যাগ্রিগেশন খুবই শক্তিশালী, এবং এটি রিলেশনাল ডেটাবেসের কুয়েরির তুলনায় আরও নমনীয়।
  • ডেটা আপডেট: MongoDB তে ডেটা আপডেট করা হয় বিশেষ কুয়েরি অপারেশনের মাধ্যমে, যেমন $set, $inc, $push ইত্যাদি। ডেটা আপডেট করার সময় এটি সম্পূর্ণ ডকুমেন্ট বা তার একটি অংশ পরিবর্তন করতে পারে।
  • ডেটা ডিলিট: MongoDB তে ডেটা মুছতে remove() বা deleteOne(), deleteMany() ব্যবহার করা হয়।

6. MongoDB তে অ্যাগ্রিগেশন

MongoDB একটি শক্তিশালী অ্যাগ্রিগেশন ফ্রেমওয়ার্ক প্রদান করে, যা ডেটার উপর বিভিন্ন ধরণের অপারেশন সম্পাদন করতে সহায়ক। এর মাধ্যমে ডেটা গ্রুপিং, ফিল্টারিং, সোর্টিং, এবং অন্যান্য স্ট্যাটিস্টিক্যাল অপারেশন করা যায়। MongoDB অ্যাগ্রিগেশন পাইপলাইন ব্যবহার করে একাধিক অপারেশন একসাথে চালানো যায়।


MongoDB এর আর্কিটেকচার ও কাজের ধরণ বুঝতে, এটি একটি শক্তিশালী এবং নমনীয় ডিস্ট্রিবিউটেড ডেটাবেস সিস্টেম হিসেবে পরিচিত, যা শার্ডিং, রেপ্লিকেশন, ইনডেক্সিং এবং অ্যাগ্রিগেশন ফিচারের মাধ্যমে বড় পরিসরে ডেটা স্টোর এবং প্রসেস করতে সক্ষম। MongoDB তে স্কিমা-লেস ডেটা মডেল এবং ডেটা শার্ডিং ব্যবহারের মাধ্যমে এটি বড় পরিসরে অ্যাপ্লিকেশন তৈরি এবং পরিচালনা করার জন্য আদর্শ।

Content added By
Promotion

Are you sure to start over?

Loading...